{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              ts_code   open   high    low  close  pre_close  change  pct_chg  \\\n",
      "trade_date                                                                      \n",
      "2019-06-28  000001.SZ  13.73  13.79  13.58  13.78      13.71    0.07   0.5106   \n",
      "2019-06-27  000001.SZ  13.50  13.85  13.45  13.71      13.37    0.34   2.5430   \n",
      "2019-06-26  000001.SZ  13.27  13.50  13.19  13.37      13.29    0.08   0.6020   \n",
      "2019-06-25  000001.SZ  13.72  13.72  13.07  13.43      13.69   -0.26  -1.8992   \n",
      "2019-06-24  000001.SZ  13.69  13.83  13.61  13.69      13.64    0.05   0.3666   \n",
      "\n",
      "                   vol       amount  \n",
      "trade_date                           \n",
      "2019-06-28   498093.69   682679.970  \n",
      "2019-06-27   925074.94  1270042.461  \n",
      "2019-06-26   546504.76   731207.282  \n",
      "2019-06-25  1469227.07  1954855.785  \n",
      "2019-06-24   659572.85   904433.349  \n",
      "            close      upper      lower\n",
      "trade_date                             \n",
      "2019-06-28  13.78        NaN        NaN\n",
      "2019-06-27  13.71        NaN        NaN\n",
      "2019-06-26  13.37        NaN        NaN\n",
      "2019-06-25  13.43        NaN        NaN\n",
      "2019-06-24  13.69        NaN        NaN\n",
      "2019-06-21  13.64        NaN        NaN\n",
      "2019-06-20  13.80        NaN        NaN\n",
      "2019-06-19  13.07        NaN        NaN\n",
      "2019-06-18  12.80        NaN        NaN\n",
      "2019-06-17  12.67        NaN        NaN\n",
      "2019-06-14  12.49        NaN        NaN\n",
      "2019-06-13  12.59        NaN        NaN\n",
      "2019-06-12  12.57        NaN        NaN\n",
      "2019-06-11  12.65        NaN        NaN\n",
      "2019-06-10  12.34        NaN        NaN\n",
      "2019-06-06  11.92        NaN        NaN\n",
      "2019-06-05  11.97        NaN        NaN\n",
      "2019-06-04  11.85        NaN        NaN\n",
      "2019-06-03  11.90        NaN        NaN\n",
      "2019-05-31  12.18  14.203323  11.438677\n",
      "2019-05-30  12.22  14.072521  11.413479\n",
      "2019-05-29  12.40  13.933473  11.421527\n",
      "2019-05-28  12.49  13.848308  11.418692\n",
      "2019-05-27  12.37  13.740236  11.420764\n",
      "2019-05-24  12.35  13.551824  11.475176\n",
      "2019-05-23  12.29  13.341707  11.550293\n",
      "2019-05-22  12.40  13.005399  11.746601\n",
      "2019-05-21  12.56  12.897433  11.803567\n",
      "2019-05-20  12.38  12.834401  11.824599\n",
      "2019-05-17  12.44  12.800214  11.835786\n",
      "...           ...        ...        ...\n",
      "2018-07-13   8.88   9.606712   8.576288\n",
      "2018-07-12   8.88   9.585583   8.556417\n",
      "2018-07-11   8.78   9.588314   8.526686\n",
      "2018-07-10   8.98   9.577134   8.518866\n",
      "2018-07-09   9.03   9.579293   8.525707\n",
      "2018-07-06   8.66   9.592278   8.487722\n",
      "2018-07-05   8.60   9.608189   8.437811\n",
      "2018-07-04   8.61   9.605828   8.386172\n",
      "2018-07-03   8.67   9.550527   8.366473\n",
      "2018-07-02   8.61   9.494358   8.344642\n",
      "2018-06-29   9.09   9.471247   8.351753\n",
      "2018-06-28   8.92   9.431715   8.358285\n",
      "2018-06-27   9.09   9.376143   8.384857\n",
      "2018-06-26   9.36   9.365565   8.391435\n",
      "2018-06-25   9.46   9.377161   8.383839\n",
      "2018-06-22   9.85   9.571488   8.263512\n",
      "2018-06-21   9.86   9.744629   8.203371\n",
      "2018-06-20   9.91   9.898846   8.170154\n",
      "2018-06-19   9.87  10.018989   8.165011\n",
      "2018-06-15  10.17  10.190910   8.137090\n",
      "2018-06-14  10.07  10.316873   8.130127\n",
      "2018-06-13   9.95  10.403805   8.150195\n",
      "2018-06-12  10.06  10.494044   8.187956\n",
      "2018-06-11  10.04  10.574301   8.213699\n",
      "2018-06-08  10.12  10.658324   8.238676\n",
      "2018-06-07  10.37  10.750871   8.317129\n",
      "2018-06-06  10.14  10.772667   8.449333\n",
      "2018-06-05  10.26  10.788278   8.598722\n",
      "2018-06-04  10.27  10.783956   8.763044\n",
      "2018-06-01  10.19  10.716368   8.988632\n",
      "\n",
      "[262 rows x 3 columns]\n",
      "            close      upper      lower\n",
      "trade_date                             \n",
      "2019-05-31  12.18  14.203323  11.438677\n",
      "2019-05-30  12.22  14.072521  11.413479\n",
      "2019-05-29  12.40  13.933473  11.421527\n",
      "2019-05-28  12.49  13.848308  11.418692\n",
      "2019-05-27  12.37  13.740236  11.420764\n",
      "2019-05-24  12.35  13.551824  11.475176\n",
      "2019-05-23  12.29  13.341707  11.550293\n",
      "2019-05-22  12.40  13.005399  11.746601\n",
      "2019-05-21  12.56  12.897433  11.803567\n",
      "2019-05-20  12.38  12.834401  11.824599\n",
      "2019-05-17  12.44  12.800214  11.835786\n",
      "2019-05-16  12.85  12.869406  11.802594\n",
      "2019-05-15  12.92  12.936961  11.768039\n",
      "2019-05-14  12.49  12.927765  11.769235\n",
      "2019-05-13  12.30  12.892798  11.769202\n",
      "2019-05-10  12.68  12.931117  11.764883\n",
      "2019-05-09  12.16  12.915243  11.804757\n",
      "2019-05-08  12.60  12.924625  11.858375\n",
      "2019-05-07  12.95  12.971307  11.921693\n",
      "2019-05-06  12.87  12.985306  12.004694\n",
      "2019-04-30  13.85  13.337898  11.819102\n",
      "2019-04-29  14.10  13.672392  11.672608\n",
      "2019-04-26  13.79  13.849574  11.634426\n",
      "2019-04-25  14.13  14.085201  11.562799\n",
      "2019-04-24  14.44  14.359949  11.495051\n",
      "2019-04-23  14.07  14.505264  11.521736\n",
      "2019-04-22  14.15  14.639688  11.573312\n",
      "2019-04-19  14.73  14.879300  11.566700\n",
      "2019-04-18  14.34  15.009089  11.614911\n",
      "2019-04-17  14.35  15.108505  11.712495\n",
      "...           ...        ...        ...\n",
      "2018-07-13   8.88   9.606712   8.576288\n",
      "2018-07-12   8.88   9.585583   8.556417\n",
      "2018-07-11   8.78   9.588314   8.526686\n",
      "2018-07-10   8.98   9.577134   8.518866\n",
      "2018-07-09   9.03   9.579293   8.525707\n",
      "2018-07-06   8.66   9.592278   8.487722\n",
      "2018-07-05   8.60   9.608189   8.437811\n",
      "2018-07-04   8.61   9.605828   8.386172\n",
      "2018-07-03   8.67   9.550527   8.366473\n",
      "2018-07-02   8.61   9.494358   8.344642\n",
      "2018-06-29   9.09   9.471247   8.351753\n",
      "2018-06-28   8.92   9.431715   8.358285\n",
      "2018-06-27   9.09   9.376143   8.384857\n",
      "2018-06-26   9.36   9.365565   8.391435\n",
      "2018-06-25   9.46   9.377161   8.383839\n",
      "2018-06-22   9.85   9.571488   8.263512\n",
      "2018-06-21   9.86   9.744629   8.203371\n",
      "2018-06-20   9.91   9.898846   8.170154\n",
      "2018-06-19   9.87  10.018989   8.165011\n",
      "2018-06-15  10.17  10.190910   8.137090\n",
      "2018-06-14  10.07  10.316873   8.130127\n",
      "2018-06-13   9.95  10.403805   8.150195\n",
      "2018-06-12  10.06  10.494044   8.187956\n",
      "2018-06-11  10.04  10.574301   8.213699\n",
      "2018-06-08  10.12  10.658324   8.238676\n",
      "2018-06-07  10.37  10.750871   8.317129\n",
      "2018-06-06  10.14  10.772667   8.449333\n",
      "2018-06-05  10.26  10.788278   8.598722\n",
      "2018-06-04  10.27  10.783956   8.763044\n",
      "2018-06-01  10.19  10.716368   8.988632\n",
      "\n",
      "[243 rows x 3 columns]\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEUCAYAAAAmxTHXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzsvXd8HOd9oP+8W1EWvYMFYBMpkpIoieqURcqy3O3IJW6X2I7PyuViX+5+tmMnTvElceK43l0cx5Fj2YmL5MQltmWrWRZMNZISVdgrOtHrYnuZ9/fHOwssgAV2sZhBId7n81kCOzM7885g+X7fbxdSSjQajUazdnEs9wA0Go1Gs7xoQaDRaDRrHC0INBqNZo2jBYFGo9GscbQg0Gg0mjWOFgQajUazxtGCQKOxGSHE+4QQjy33OOZDCNEuhLhrucehWR60INBkRQhRKYT4iRAiKIToEEK8d8b+95rbg0KI/xRCVNr9WSFEgxDiZ0KIHiGEFEI0Z7mHtwohXhZC+IUQQ0KIJ1KfEUIEMrziQojWOc71GXN/QAgxJoR4Vghxy1zXllJ+T0p593zjW8kIIb4thIiZ9zshhDgqhLgjbf8HhBDJtGfXKoT4g+Ucs2ZhaEGgyYV/BGJAHfA+4J+EELsAzJ//DPyOuT8EfM3uzwIG8Ajw9myDF0JsBf4N+BhQBmwyr2MASCl96S/gCmAE+Jt5TvsD89ga4Gngx0IIkeHarmzjWyV83rzfMuCfUPfrTNv/XNrzewfweSHEtcsxUE0eSCn1S7/mfAHFqMn4irRt3wE+Z/7+t8D30/ZtMY8vsfOzadtcgASa57mHdwAv53i/LtTE/i/zHPMZ4Ltp73eZY6gGPgA8A3yFKWHyAeDpGcc/bu7vB/7U3O4APgVcBIaBfwcq5xhDBfAQMAiMmr+vT9vfAvy1OZYJ4DGgOm3/7wAd5nU+DbQDd81xrW8Df5P2vsi830bz/bT7M7cdAd673N9f/crtpTUCTTauAJJSynNp215BTWaYP19J7ZBSXsScwG3+7EJ4EdghhPiKEOKAEMI3z7GfRwmhj+RyYiGEFzURdksph8zNNwGtQC3w2RnHlwC/QmkzjcBW4Alz9/8Afgu4w9w3itKKMuEAvgU0ARuBMPDVGce8F/igOQ4P8HFzDDtRq/rfMa9TBazP8X6dwO8CbSghlumYG1B/vxdyOadm+dGCQJMNHzA+Y9s4atWebb+dn80ZKWUrsB9Yh1plD5l272kCQQjxdtTE+XYpZSTLaX9bCDEGdAHXoybwFD1Syn+QUiaklOEZn3sT0Cel/JKUMiKlnJBSHjb3/T7waSllt5QyitI83pHJvCSlHJZS/khKGZJSTqAEzh0zDvuWlPKcOYZ/B/aY298BPCSlPGhe588xzWTz8HHzfoPA/wH+XEqZTNt/s+kvCaC0ge8A57OcU7NC0IJAk40AUDpjWynK3JBtv52fXRBSykNSyt+WUtYAtwOvQplEABBCbAO+CXzAFBzZ+HcpZbmUslZKeaeU8mjavq55PrcBZfrJRBPwE3NCHQNOA0mUj2QaQogiIcQ/m050P3AQKJ9ht+9L+z2EEq6gtIDJMUopgygT0Xx8UUpZDhQCe4EvCCFen7b/kPk8fEA9SnP72yzn1KwQtCDQZOMc4DInyhTXACfN30+a7wEQQmwGvObn7Pxs3kgpnwd+DOw2r1sE/Aj4upTyp4s9P8p+PhddKF/IXPteb06oqVeBlPJShmM/BmwHbpJSlqIEG8Ash3UGelECSX1A3X9VDp9DKk6gfA9vnOOYftTzfHMu59QsP1oQaObFXC3+GPgrIUSxEOI24K0o1R/ge8CbhRC3CyGKgb8CfmyaPOz8LEKIApTgAPCa72chhNgnhPiwEKLWfL8DeAtwyDzkn1CO209n+rzFPATUCyH+pxDCK4QoEULcZO77OvBZIUSTOc4aIcRb5zhPCcovMGaG3P7lAsbwQ+BN5nPxoJ57znOB+fz2MYdQFkJUAffMtV+z8tCCQJML/x1lEhgAHgD+QEp5EsD8+d9Qk/oAaoL673Z/1iSMMiEBnDHfAyCE+LoQ4uvm2zHUxH/ctGE/AvwEFeK4EeX8vBkYn5lPkMezmhfTnv8a1Gq5D2VHP2Du/r/Az4DHhBATKEF1U6bzoOz0hcCQedwjCxjDSeAPge+jtINRoDvLx/7YfCZBVATSt1ChvyluSXtmp1HRTB/NdUya5UVIqRvTaDQazVpGawQajUazxtGCQKPRaNY4WhBoNBrNGkcLAo1Go1njrIqCWNXV1bK5uXm5hzGLYDBIcXHxcg9jUazme9BjX3pW67hhdY8d8hv/0aNHh8wkynlZFYKgubmZF15YeWVLWlpa2L9//3IPY1Gs5nvQY196Vuu4YXWPHfIbvxCiI5fjtGlIo9Fo1jhaEGg0Gs0aRwsCjUajWeNoQaDRaDRrHC0INBqNZo2jBYFGo9GscbQg0Gg0mjXOqsgj0Gg0GoBgFNqHwJDgFLC+EkoLl3tUqx8tCDQazaogloBDFyGWnGrD1jMGr94JIpe+bJo50aYhjUazKmgdhHgSvC7wmC9DQiC63CNb/dgmCIQQ9wshBoQQJ9K2fUYIcUkI8bL5eoNd19doNCsXQ0I0kfvx3SPKJORyzj7PiOV95NYedmoE3wZel2H7V6SUe8zXL228vkajWYEEIvDcBXjyNJzqUSafbHSNgkOoVzoOAX1+e8a5lrBNEEgpD6Iagms0Gg0A/ePwzAUlDFxO6BiC0z3zf8aQMBEGZ4bZyumAsZAyGWnyx9aexUKIZuAhKeVu8/1ngA8AfuAF4GNSytE5PnsvcC9AXV3d9Q8++KBt48yXQCCAz+db7mEsitV8D3rsS89ixx2KQcKYcvYCSAklBXM7fFN+gLn8wRIocs82G81ktT7zFPmM/8CBA0ellHuzHbfUgqAOGEL97f4aaJBS/l628+zdu1fqMtT2sJrvQY996VnsuA+eVb6B9NV9IgnXNkFNyezjwzE42g7BGLjnmOhjCRVGunvd/Nderc88RZ5lqHMSBEsaNSSl7JdSJqWUBvAN4MalvL5Go1k+pIRwfLad35AwEZl9/GhImZGCUXDNM1M5HTA8Ye1Y1xpLKgiEEA1pb+8BTsx1rEajubwIx9XPmSYgIWA0OH3boB+OtIJhgNs1f56AQ0AkvrAoJM10bEsoE0I8AOwHqoUQ3cBfAvuFEHtQpqF24Pftur5Go1lZBOew8zsFDAdgJAiVxWryP9GjJv/5NIEUQgACBsZhQ5XVo14b2CYIpJTvybD5m3ZdT6PRrGzGQ8oMNBOHA4wkPN8KTdXKcRxLzO0TyIQA2oeVr0BnGS8cXWJCo9EsCcOB2f6BFC6nEhLtQ8rmv5C5vHc8QPfoBHvWNzAR0bWH8kGXmNBoNLYjJYzPkQuQwiGUFpBIzn/cTB4/1cY3nnqZhGHQrTOX8kILAo1GYzuhmHIMZjPbCAFe98LMOxORGAnDYDQc4tIYJI1FDXVNogWBRqOxnYnIwsw9Czt3DID+8QCGhAFdcmLBaEGg0Whsxx+GpMW5qz9+8SxHO/qYiCpB0DMeAAn9WhAsGO0s1mg0tjMaUmGiVvLQ8QsA+LweQDmNnQ4VhqpZGFoj0Gg0thOIqDBROwjGTI1gLIAQEE+oBDNN7mhBoNFobCVpqOqgVioE6TXSpASXw0HveACQBGMxLg5mqFmhmRMtCDQaja1EzfpCViZ6JYzpoUGbqsuIJpKMhiJ8/8hJPv7vR6272BpACwKNRmMrdphp4jNiRK+oqwSUeWg4GOLSWMj6i17GaEGg0WhsJRxXOQRWEktM70STEgS94wECkRgTkRixhE4oyBUdNaTRaGwlHM9cY2gxxEyNoKmylKaqMq6sr6bY46Z3PMBENIYEesZiNFcXWHvhyxQtCDQajW0YhmouP1eNoXyJmxrB63dv4cZNjQA0lPnoGPETiat61D1jUS0IckSbhjQajS2EY3CoVcX151JOeiHEkkoQuJ1TJUobyn20DY1Nvu8Z05FDuaIFgUajsZxQDJ69oEpLuJ3Wl4ZOOYs9aRKmoWx6P98+f9Tai85DNAFdq7jgnRYEGo3GUqSEVzpVFVE7hABAPING0DhDEPQvoSDoGIKzfUt2OcuxTRAIIe4XQgwIIWa1oxRCfFwIIYUQ1XZdX6PRLA8jQfBHVI8Bu0hFBHnSLpKKHEoxMKEEwdd/c5H/eKHLvsGg7tlYxUFKdmoE3wZeN3OjEGID8Bqg08ZrazSaZaJzBJD2dgqb0gimprACt4uqYtWVprKogOFAhHAsyVceP8cPnrdXEPjDq7szmm2CQEp5EMhkNfsK8MdYH1qs0WiWGSlhaAKcNmoDMOUs9sy40F+8aR8fOXA9daXFjIaiPHNhiGjCoHs0bN9YEqqMRoHbtkvYzpKGjwoh3gJcklK+IrKITyHEvcC9AHV1dbS0tNg/wAUSCARW5LgWwmq+Bz32pSfbuJMSwnM0qc+X/pBBTaHAkTZnBAZUunKi9xDBkan1rAPYDhyWES5OGHzn1y+rc/gjjPqlLc88YUAsCuMOaOmx/PST2PmdWTJBIIQoAj4N3J3L8VLK+4D7APbu3Sv3799v3+DypKWlhZU4roWwmu9Bj33pyTbujiE43QseC2aWhGHwg+dP8cSZDj5469Xcvm3D5D4RaAVOU9Z8O0We2UvxqsHTvDTYzulxJx6XQSxhEHMW2fLMz/fDuT4oK4J92yw//SR2fmeWMmpoC7AJeEUI0Q6sB14UQtQv4Rg0Go2NjIassZX7I1G+9NhhnjjTgUMIzg9MtzLPZRpKUVboJWEYDExEecs1KuFsOGKPNXpowr4S20vFkg1fSnlcSlkrpWyWUjYD3cB1UspVHHSl0WjSGQ0tPos4FIvz1w89Q+vQGB/edw27GqtpGxqfdkw8YSAEOOe4WFmhF1Amqt+5uQmAwbD1YT2RuIqQcmpBkBkhxAPAc8B2IUS3EOJDdl1Lo9EsP9HEVMnpxdA+PM5wMMyHb9/DLVvWs6m6nJ7xCaJm6QhQGoHb6WQuX2NKEOyor2BXYykep4O+oPUaQd+4cpAv5pZjCYPO4czVUtP7LtiJnVFD75FSNkgp3VLK9VLKb87Y3yylHLLr+hqNZmnpGVUT4mJNQwGzB3F9qUoQ21ZbiZRwvGdw8ph4MolnnmV4RZGqMbSjvpaE4WBbnY9Of3LO4/OlZ2zxgu/Lj5/jVV94kt7x6ZFNfeMRXvd/nuL5dvtTlle5QqPRaFYCUkL7kDW28mBURQQVe5UT+Mr6KiqKCnjq/FQuQCxhTMsqnkldaTH33r6HO65o5uIA7GospdNvWLrCjidVCY3FmoVO9iiz14lL/mnb/+25ds4NTFBXYn/hPC0INBrNohkOQCxpja08pRH4TEHgcAhubG7gVM/QZGeyeDI5Lat4JkIIbt68jpICF92jsK2ujIm4tWUnBvypay3uPJuqiwE41z9B21CQB490YhiSB4508por69hYVbTIkWZHl6HWaDSLpt1CI28wGsfrck5b8W+oLCUpJYMTIRrKfPSMBygr8GY9lxCAhGJPKaBW3/Vli19hG1KFjVoRIZVyeH/72Xa+8vg5EoakvqyA0VCcmzZXLf4COaA1Ao1GsyhCMaURWFVqOhCN4fN6pm1rLC8BoGdsgp6xCbpHJ7i+KbfIc5cTit0pQeDPcnRu9I0px7gV9xyOKd/FaDDGgR21ALzcpcppV/s8c37OSrRGoNFoFsWgX9WLsarWTiAan/QPpGgoVeaTnrEAXaMTCOCG5oaczicEeN0uaosEpywQBDKlDVgk+EKxJNU+Lw//0e14XA6u+d+Pcaxb+Q1qfNm1HivQgkCj0SyKgMXVnoMZNAKv20W1r5BLYwE6RsbZXl9FeVHuJh6HgI0lDk72jmc/OAt94xBJqBLbVqAEgYeaEjXpl3hdvGJqBKltdqNNQxqNZlEEo9a2osykEQA0VZbxSnc//f7gZHvKhbCxxEHXSJjxcHxR47s0lv2YhRCJJynypPVVKC9kOKgc5tVLpBFoQaDRrFEicWgdVE1kRgL5nycUs1YQKI1gtiDY0VBFNJHEKQTXb1x4ZZoNJWq6O927OPNQMGLt/YZiCYrSijOtq1CltF0OQVnh0pQ01aYhjeYyRUoV6x5LQjwx/edERJk4kMq+3zsOdWWquUpFEWyuzf0a0bh1TWgmIjGC0ThlhbPNPlfWqwianY3VlBQszIlqyClBcKrHz815RuNIqcxCVvZgDsWSVKWt/NeVK0FQUuDCYaXEmQctCDSay5AzvSqkc2amr5TqhZjeRlJK6B9Xxw9OQKEHGsqzXyeSUOeyylH8XOslJHBdhhV/Q5mPu65sztlJnI4ESjwOakq8i4ocSlmVrGxCE55hGnr9VfV851AHo6HFmbAWghYEGs1lhiFVI3WXM3cThhBTpaOTBpzsURpCts+PZy6RkzfPt/fQVFXG+oqSDGMUvPfGXXmd14F6LjsbSiczefMhHLO21wIojSBdENy6pZpbNlexo2H2M7ALLQg0msuM0aBa4eeb5et0qMbz42FlJpqPLgvL4BhS0j06Ma3vgFUIocxeuxpLza5lSbx52LPCMVOjspBwLEnBjBCkB+692dqLZEE7izWay4zxsOoUthgMqfID5iMcV05mq+zlI8Ew0USSdeXWr4SdDvVMNlSWkjAk5/vz845H4mBlMWsppekstrm3Zxa0INBoLjPGLOgJ4HJAx7CKCJqLrmH10yp7effoBIAtgiA1RrejDCDvxLJw3FrTUCxpYEimRQ0tB1oQaDSXGRPhxQsCh0OZUl7uVNoBTDmax8Mq4qh9yNom9ZfGlCBoLPNZd9I0BFDsLaLI48zbTxCxoN9COqnyEoVWZaflifYRaDSXEUlDrVqtmFdcTvCH4US3CjcNRCAahcMXp46xclK8MDBKXUkxErdq9mJD5KRTCNaVl3IiT40gGrd2XCFTEFy2piEhxP1CiAEhxIm0bX8thDgmhHhZCPGYEGLh6YEajWZOUsldVkxWQihhcGlMlZFwOdWq2uVUr2giPtk7YLEkDYOz/SNsr6/C41QCzQ5cTlhXUcqpHj+GsXBHSixpjyAovFwFAfBt4HUztn1BSnm1lHIP8BDwFzZeX6NZc4Tnsenng0OA1zU95wDgVO8QH33wMf754EuWXKd9eJxIPMGO+mp8BVPmKDtoqiwjHE/SOrSw2FcpIZaw1kcQntQILlMfgZTyIDAyY1u6PlaMyvPQaDQWEYrZO4mm+MlLZwE41z9syflO96rzbK+rZEuttSanmTRXqZLUT59fmHkoYVjTijOdgYkIsHTlpudiyZ3FQojPCiG6gPehNQKNxlLMecVWOobHuTg4Zk6K1syKp/uGWFdews51XmrMoCG7+rY3lvtwCsGRtnESC2hjHE1Y77foGVN9ilNlJZYLYWUPz1knF6IZeEhKuTvDvj8BCqSUfznHZ+8F7gWoq6u7/sEHH7RtnPkSCATw+eyJcFgqVvM96LHPJhhV8fJ2LaiNWIAH29y80J9g/3o3j3fG+eK+Iryu/K8YT0o++UyI2xpdvH+XFyGUZpNagVs5dodHPfO/ez5MT9BgW7mDP7mpcJoGYkjJSERSXTh9nRxPzh8+KgQstFjof5yN8Uh7nG/cXYQji5TJ5ztz4MCBo1LKvdmOW07D1PeBXwAZBYGU8j7gPoC9e/fK/fv3L93IcqSlpYWVOK6FsJrvQY99Nk+cUvZWu0wrgxee5OhAhFu2bGBDbQV0HiNRcyOVZuOYmbzc1c+3nz3G396znyJP5kqaZ/qGiRuHuGPPHg7sqwOgZwyOd5kOaovuJdjRQnHTfgA2dLxET1sP58cMvOvvoLJYICVsqIIHj3Ty2d8c577fuYW7d1VOfv5oOwwFMkdkJQ1Vn2nftoWN6Sd9L9FYMcqdBw5kPdbO7/uSmoaEEOmP6S3AmaW8vkZzOZM01KrVznqVR/oTxJIGB7Y3UWr2DPZH5u5M84MXTuOPxDjbN7cv4VTPEA4heOPVU5NuQ5maWO2KHiovnFq69/sTdAxD5wg8ex6Odign8n0H2ybNU/GkaseZb9mOuegdi9BQtrxmIbA3fPQB4DlguxCiWwjxIeBzQogTQohjwN3AH9l1fY1mrZFKdrIj/h5UOYSnLsXZXF1OU1UZZeZkOj5PqFLK9Hymb+6iRKf7htlUXUZt6ZTGIARc2ZBWLdVi3nzNtsmy1pF4FI9LFd1LL9R3tm+EYbNuU9ugcsJbrWldGgsvu38A5jENCSGqgT8ERoH7gS8AtwMXgY9JKS/Md2Ip5XsybP5m/kPVaDTzscjGW1k50zfMQFjy5uubACg1BYE/nFkjCMXiDEyo1fVLXX287brtGQu9DU6E2Ns8uwFCdQmUFqmkNqsTb4s8bt5w1VZO9w3jj8SoV5UnEAICUSXYArEYx7slhiFIGNb2IADVmazfH1kRgmC+W/s+4AW2AUeAVuAdqPj/f7F/aBqNZiFEbKiMmc6R9l4KnHCj2Q+gpMCDAMbnMA1dGBgF4A27tzAcCPMfL5zOeFw0kaDEO3tNKgTsNFsP2HFfpWZzm5mCLBiLT15zJJBASiWIHBYLgle6xkgYkj0bcmj8YDPz3VqdlPJPgf8B+KSUX5BSnpFSfgNY/pFrNJppBGP2JuaMhyJUFThwmwWGXA4HRV43gUhm09CFwVEcQvCmq7eyf3sTvznXOakhpDAMSTSRpKwws3GirAhqSpSN3mpSGs14JMpwIDy5PRidup9YMma5AEjxfLsyl+1trrDnAgtgvltMAkhl5Buasc8mF45Go8mXQMQ+/wDARDRG8YzAn2KPe3IFPZOLA6NsqCihwO3iTVdvRQJPne+cdkwkkQCgZA5BALCh0p4oqBKvByHgWPcAn/jRryc1mEA0jtN8kIGoNanaY6EYvzjWS3q4/sHzQ2yvK6G8aHmTyWB+QbBZCPEzIcTP035Pvd+0ROPTaDQ5EEuoqBar7djpBKJxfO7pM3Kx15Ox3lDSMGgdGmNrrVrtVhQVcEVdJS939U87LhJXgqC0YG5BYFf1BYdDUOL10DakKpGe6BkEIBiNU2eGw1olCL7y+Dn+8Psv8lyrip460jbCkbYR3nbdOkvOv1jme8RvTfv9izP2zXyv0WiWkZ4xZRayUyMIRGMU+2YKAjfBDKah7tEJookkW2qmzB7XbqjjgedPMTARorZEtT6bFATzaARel30mr5IC72T563P9ylQTjMZoriqjZzxAwBRy4VgcCXPmQmQjZnYKeu83DvPxu6/g4Pkhakq8/O4tzYu+ByuY8+lLKX+zlAPRaDT5IaXqDWCH+eSHR88QiSd4z407CUXj+NzTJ0Kfx82APzjrcykzS0ojANher/IE2obG0gSBMv6XzyMIPM6pMFKrBZ3PO3U/FwdHCcXixJIG9WXF0MWk/+NTP2lhIhLj/ve/Ma/rBKOJyd+/+Ng5AP73W3Yte9XRFHMqkkKIbUKIbwkhviyEWC+EeFgIERBCvCKEyJqyrNFoloaRoKqDY3WyE6gqoyd7hwiaK+LiWaYhd0bT0PmBUcoLvVQVT4VGNpaV4HI46BieagoTjqkJsrxobkHgcKh7s0MrKE4TBPGkMWkeqvapkg8p09CEKRCShpF2fJJnLnbnVM56YCLCDc0VfOmd1wDQWFbAu2+0vjdzvsz31fkWKiGsBziMyiWoBj4O/KP9Q9NoNLnQNoRttpPxcBR/ODq5Ms7kIwjF4tMmw0A0xsvd/Vy1vnZaUTqX08G6ihI6R6aqfoYTKdPQ/Ctjr8ueENJir3LUuszQoMOtPYDKPE4JuYk001fv+JT288Tpdr759CscvNCV9ToD/ii1pQW8+spaaku8fPL1OzLmVCwX8wkCn5TyPinlF4GwlPI/pJQRKeXjqPwCjUazzEw6iW2YU6SU+CNRwvEEFwfHgMwagQRC8Smt4MmzHcQSSV5zZfOsczZVltIxMj4ZPZPSCHwZ8gjSsU0QmDb/skIv68p9vNI9AEBDmY+q4kJe6OjloWNTubMdI1PaTEqgHTc/Mx/9/gi1JV7Kizwc+fRdvHXPynASp5hPEKSHiM4s3K3DRzWaFcCIuUC1w0kcjMVJmiv9bz17DADfDF+pz5xIU+ahzhE/j51s4+r1tayvKJ11zqbKMoLROMPBML3jAf7tkHneLIKgwGOXRqDG73I6uKKuCkNKXA4HNSVFfGjfNdSUFPP46bbJ41sHx4gmkpzrH+G0WT/p+KVBEsbcU2IgmiAYS1JXWmD9DVjEfE9/h1kTSABbzN8x32+2fWQajSYrA377sonHM5SOKPNOXzumTCuBaIzergD/8OQLuJ1O3nbt9ozn3Gg2hekc8fPIydZJQVOcRRCUFULv2IJvISup8RuGZHt9JU+e7aCutBinw8G68hI+/fpbeeJMO/3+IEOBEE+e7eCp812TE/8162t5pXuAAX+QkoKSjNcY8KsmEXWlK9eQMt/Tv3LJRqHRaPJiyMbcgZmlF/7sDbdREnp52rbUivrvHzlEwjBoLPPxx6+7ebIy6UzWV5QihGpuk15/35vlJsoK7YmKSmk0hpRsr1NRTY3lUzX/HQ7Ba3aqtKnHT7dx7NIgEslHD+xlc0054+Eor3QPcGlsgi21mQXBS51Kgm2bY/9KYL7w0Y6lHIhGo1kYkTjEE/b4B2C2RrC5ppzgjFlhXXkJ126oo7TQy6bqMq7bUI+vYO5MWa/LSWOZj44RPx7n1MCzdTorLVTVP60OIU0JMkNKygoLuHvnJnY2VGc89roN9fz05XP813172LNB9U0o8rhwCDGZi5CJX58ZoLbEy67G2aaylcLydkzWaDR54w+rSdGuJDL/HDWE0ilwu/jonQuLJt9YWcbp3qF5BcZMnA4o9irh57RJEAC8+4adcx5b5Svkq+957bRtbqeTutIiOtOcyOnEkwYHzw3yxqsbLGvraQdL3rNYo9FYw2hQtaW0i/FwFKdpj9lcbV2dyabKUsbCUbpHJyjyuPn43Zn9CTMpKVBagZWkMoUX42fZs6Ge45cGebGzf9a+59tHmIgmOLBjdpntlYQWBBrNKmVgwt7aQv5wlNICL59/+wE+fvdoYfCyAAAgAElEQVRNlp23qaps8vc37N7MR+7cmtPnSgthnuCcvEg5i69aV5P3Oe7ZcwU1JUU8erJt1r4nzwzgcTrYtzWzuWmlMF9jmuPMk6Yipbx6vhMLIe4H3gQMpJrXCyG+ALwZiKEa3HxQSmlDLIBGc3kTS0Aoap9/AFR55rJCL9W+IkvPu6FyylZeX5Z7SGWxx/rs6UK3i7+7Zz+VxfmHdrqcDm5oauThkxcYDkSpSutg/8SZAW7eUpU1Kmq5me+xvgk1aT9ivt5nvn4J/DCHc38beN2MbY8Du00hcg74kwWOV6PRAGMhe/0DYGoEhV7Lw1OLPG4+eOvV7G6s4Ybm3FfKRTZFX9aVFk/2WMiXvU0NSAmPnOyb3NY+FKR1MMid2/PXNpaKOQWBlLLDjBy6TUr5x1LK4+brU8Br5/pc2ucPAiMztj0mpUxVXzoErF/E2DWaNUs4br29fCbjpmkoHLe+ifzt2zbwkQM30lyV+0q8yDMVObTSWF9RQn1pMb883ju57ddnVMbxnTvqlmtYOZOLolUshNiXeiOEuBUotuDavwc8bMF5NJo1R8Tm/sSGlExEYvi8Hkq8ShBYPQE7xMJW+anIIasEYDxpnc9BCMGNm+p57uIww4EoDx/v5ccvdbOt1sfGKmtNa3YgZJa/rhDielTBuZSHZwz4PSnli1lPLkQz8FDKR5C2/dPAXuBtco4BCCHuBe4FqKuru/7BBx/MdrklJxAI4PP5sh+4glnN97CWxx6OQdxQaf52MBGT/OmzId6+1cMbNruJJiCRBBkPINxq3Is1S0nA511Yolgkrvwj+VzbiAVweNTYpUQ9PAvzEi4FknzuhQivbXbxaLsyfLx+k5t3bbemA1k+35kDBw4clVJmje/N6sGQUh4FrhFClKIER+aA2RwRQrwf5X949VxCwLzufcB9AHv37pX79+9fzGVtoaWlhZU4roWwmu9hLY/9uQswEbUvamh01A88RePG3bz6TtVBPpGEXz/Zwvqd+zEM1QwHkd8YpFQr8jt2LcwB3DcOL3cqJ/lCM42DHS0UN+0nngCPG65rgkMX1fgXKwySBuxyS5rbWni0faov8wfv3suNmyoXd3ITO7/vWQWBEMILvB1oBlyppAgp5V8t9GJCiNcBnwTukFKGsh2v0WgyE03YG/s9HlbJZNvrplazLqdqG7mzUb2vL4MX2kHm4bSWUp1roVFAtSXQXA2dw5CQ4HYu7NopIXDzZij0QF2pEi5WtMMUQvDuGzfyuYfPAPDQR/exe11Zlk+tDHL5M/wU1bYyAQTTXvMihHgA1c9guxCiWwjxIeCrQAnwuBDiZSHE1/MeuUazRpFSCQI7I4bGwqpQ2vb6uY341SWwsVJpCnNhSGXKSXc2SwkJA6rysIw5HLCjAW6/QvkLFuLElnK6EADYWqueYybbhJTq3pJG7n6JD97WzOaaYj58+6ZVIwQgtxIT66WUM8NAsyKlfE+Gzd9c6Hk0Gs10EgaW2rYzMR5SGkFd2fze3C110DUyuwZQahIVAsqLVLir0zFlEqrywe5FlOQv9KhJ/Fh3bscnDTWWdCEA4CuAxnK4NDpdK0iNv9DMXQjFIJbMroF4XU6e+P/uWNHlJDKRiyB4VghxlZTyuO2j0Wg08+IPw+ne7MctlrFwFI/TQUkODWMKPWarzLS5L2moiKC9zYCAg2ennLyVxco+v9jksLpS5e81ZHZ/QdJQE31hBr/t9noYnFDjS51HooTETZuVSSxpwPNtMB4Cd5ZZc7UJAchNEOwDPiCEaAOimL72bJnFGo3GOqIJON4Nw2aRS7u7HE5EolQWe3Oa1GpKoH1oamJPNZrfXj818W6vV010mqqgotiaktIOB9SVqT4F2Wz8DqGOz4THpSb8lNaSGltF8dRzdjpgewM837r4ca9EchEEr7d9FBqNZl7O98OgX01aS7Hg9EeiVJfkFuS/sUqtqEMxNXEmkmrVX5NWfr+5Wr2sprEc+rPEMUqpVvjzVS0t9qrXfJQW2FMKeyWQVTlLyzAOo55n6qXRaJaA7lHoHlk6IQCqvERtjoKg2Av7tsHWOpWg5SuAq9YvzVgrzdTWuZy9sYTyqVT7Fj8ep8O+3snLTS7ho28BvgQ0AgNAE3Aa2GXv0DSatUs8qZKnQjE4ecmaWPdckVJpBHWlFTl/xuFQztutS1xt2elQ0UsD/tnmoXhS+RG21avEtZb2xV/PV6DKf19uZZtzMQ39NXAz8Csp5bVCiANApoggjUZjAZE4PH1+qvyBYG77th0kkgaBSIyaHDWC5WZbHQxNTIWxSqYE55WNUOC27lqlBTAcsO58K4VcBEFcSjkshHAIIRxSyieFEH9v+8g0ly2GVDZlh5huR9YozvdDMpk9OsUuBgNhJLCuPP/SzEtJSQHcsFkli4HKPI4loKHcWiEAUFZ0+fkHIDdBMCaE8AEHge8JIQZQyWUazSyShopwkXLKsSYlGEzFZp/qMTNjhbItZwrpW6skkioKxu6ooPnoHlWhSdvrV26P3ZlUpNV127kOTl2CzTZUf64pUd9bw1haLc1uchEEb0U5iv8Xqh9BGbDg8hKayxvDgHP90DGcvRCaRCXmxJPwm7NKja8rUwlGl+NqayF0j6rns1zPYSgQ4jfnVIf6bbWrs6Df+grlG3DbIEydDhUKe7oXkgklsC+H72wuRedS5SQM4F/tHY5mNXGmV8Vep7SAWGJhxcDczqnQvkuj6n1ztfXq/GphNAhn+6xtzj4XUkp+8tI5btrUyLoKZZ/zh6P8Y8uLdAyreMyV3lVrPuwQAik2VqnM6FM90/0Fq0iBmsXq/UtrlhV/GDqGpnfJWmgBMDA/jxIgHUOqXMFt21QTkrVG66ASjI4lMAsNB8M8dPwCT1/o4su/fRe94wE+/Z+/mdx/1Sqqk7McFHvhhk1KqwX1czV/Zy8jK5dmKekcMaMznEpddi4yvNEhlHM0aSiBEIwqYWMYkkdO9JKwukXWCqN3TDnQ7VzJptMzppayY+EoAOf6p5oJ3r1zE/d/4IalGcgqx+1Ur9UsBCAPQSCE2CCE+IQdg9GsDqRUcdt21MJ3OZSf4Znz8OwF+NdnB/hv332Rf3zyovUXWyH0javiaYsVpguhd3zKphGIxLg4ODr5/sD2hlUTOqqxhpxMQ0KIauCdqPyBdcBP7ByUZmUTjilV2A5B4HCAxzyvIaFtSFXB/NXpAf7orm3WX3CZGZyAV7qURrTYImwppJT0jAeIxBPEkwbxZJJYQv2MJw0SSYNHTk4Vzekc9XNhYJTN1eVct7GBGzaVWzMQzaphTkEghCgB7gHeC1yBmvw3Syl1w/k1zqBZ+Mzu1atDwFg4DMDFwQCGIXFYUa1shTDoh5c6rRUCAIfberjvqZezHud1OYkmknSP+OnzB3n7ddu5e+dmygqtG4tmdTCfRjAAHAH+DHhaSimFEPcszbA0KxEpVZRE66A11SPn49mL3Rzt6KPIo0KIQrEEJ3sDXLVu9WegRRMQjsOLHUoDslIIALzQ0Ut5oZcP3Ho1bqcDt9OJx6V+qvcOTlwaoqK4gC8+dpgXOvsA2FJTgZRoQbAGmU8Q/CnwbuCfgO8LIX6wkBMLIe5H9SYeSDWvF0K8E/gMcCVwo5TyhXwGrVke2obgXJ/SBOx2aj5zoZvTfcNsqSnH53UTiMb50dExKgpLqPQpR/KJoSRXB2NUFq8OT52UKk/gTK/Kgi22IQY9lkhyomeI27as5+r1cxf+uW2rUuwL3S4uDIziFIKNleUUeqxp26hZXcy5FpFSfkVKeRPwFlSE338CjUKITwohrsjh3N8GZnY2OwG8DZWlrFlF9I4pIeByzi0EpJS82NlHPDlP78IcSBgGF4fGAGgdHGNXYw1FHhetg2OcvARPnYPnW5N8+YUIf/i9Yzm3EVxuXupUGa8wPezWStqHx4klkly1Lre02vIiVUZiY2UpLoeT2lUcC6/Jn1zKULdKKT8rpbwKuAEoBx7O4XMHgZEZ205LKc/mO1jN8jAeVk1R0pt2ZKJzxM9XnzzKL48vLsKnw5zMQIWoVvsK2VRdTtvQGG6XEkT+aBgDeK61n+8fGllQ79rlIJZQPoFUuK11501OCt6EYXC2fxiATdW5OXwrTEGwpbYCIVQPYs3aY0FKoNmu8k/Ml+YyQcqpxiJjoakkmURyqvl4qqLjfAwHlWP3sVNtvHpHM76C/Ew25/unrR+oL/PhEIKHjl8gGk/gdbsYDqhrOYXgm0+fZmvtrdy4SazY+i+DE4ANWsDXWo7SMeLnfTft4smzHZzuHcbn9VBWmFv4Z3mROm5TVQVVPtVeUrP2mC9qaILpDWiE+T7VqtJWJVIIcS9wL0BdXR0tLS12Xi4vAoHAihzXQpiYCPDIr1omKzfOVShIALEs5xq4FAcgHE/ws2dbeOuW/ATB6fYIRS4ImWMqD53FLSVSwulTv2FbuZOeHnWtu5tcPNw+xqPPPIG/zbVi7dupkNuY+XyNWIBgR8uiz9s7EmI8LPlay4uT24oc8ZzPXRxXf9X1iTOMt57LWrN/NX/nV/PYwd7xz/ff5gmgHvgx8KCUstOWEcyBlPI+4D6AvXv3yv379y/l5XOipaWFlTiuXAjFVNKWjLQg6vdb4rgMjZxFiAvc0NTAwa5+3njLzZQVLqyUsSElrc89zrVNDTxzsRuATdtfRdKQcPxxzsYaeOLsBCd7gwjgnn13cWzsaR65JLn+mn2EjSHeem3dou4jElcvX4F1uRJPngFXcsosFOxoobhp/6LPG37ucV61rY7akmJah0bZ1VjD5upyiqtyKxFxV2WI+oYhNu/cyL5t2b8Dq/k7v5rHDvaOf05BIKX8LSFEGcq5+w0hRAHwA5RQGJnrc5qlQ0qYiEDPGIyGYHO1quKZC+MhZfYRWBclMh6OUlrg5Z5rt/NCRx+/OH6R9964sEZ2vWMBgtE4V9RVTgqCVAhpbUkRj51qm1RTVYkLB3fv3MS3nj3Gn/+0hdFQhK21r2LXHGGmp3r8FHmcNFcXZ9w/FoIX2tSzMaRqcXh98+KEZDwJsbj1paWllIRicUoKPLzhqi15naOmpIh92zayuebyqKKpyY951ztSynEp5bdQDey/jio//YFcTiyEeAB4DtguhOgWQnxICHGPEKIbuAX4hRDi0UWNfg0zHFAr+ucuQPuQCqd8pUvV6MmF8bD1vVfHQhHKC73UlRZz29b1tJztZMT0G+TKuQG1xriibrbXcnNNORLweaebnG5obsDrcjIaigDwclfmh5A0JB/41hH+5henMu6PxKeEQCo6aiigBO1iGA/ZEyUUTSQxpJwUlPkgzQ7kOlpobTPvWlAIcSuqrMTtwNPAPVLKp3I5sZRyrnaWy1KeQkq1MsunQuZKIxhVyUhSTq+HHk+oOunXN2W/x9GQ9Ulh4+HoZBTKW67exnMXL/HzYxd4/y1X5XyO8/0jlBV6qS0p4ovvuBORdiObq8s51NrD9rpKFQc/fAKAAreLD9++h68+eRSA1sEoL7SbBcEcysTjK1DnHpiI0j2aWThd6FdF71KdwYRQCV+tg9BYnv/3pm0IW0JcQzHlJylehCAwpHIQL1WxO83KZE6NQAjRDnwNuIRy2t4PBIUQ1wkhrlua4VlDJA5HWuHXp+GZC8qcslqREo51qUYwM5tiuJyqd+upnvlX+4YBE2FrOywlkgYjwfBktEqVr5A7rtjA0+e7GPAHs3x6itahMbbWViCEoLK4cFKwgMp8BWiuLmPPhjq2VUzNXtdtrOf/vus1AASiMYYDqphb54h6Hs+3wv3P9AJwaWy2IAhE4FKGzmBOAaFo/t+Z0ZDS3uyYaFOCYDEaQdLQ2oBmfo2gHWWGfS1wN9PjSSRwp33Dso5BvzKZJA31nzEYhefb4MCO1akZhGLgj2S2N6cyfrtG1P1etT7zPQ6ZhSet1AgeeP4kgWicXY1TiUxvvGorT53v4mfHzvNf9+3J6TzBWJyygswxjE1VZfz29Tu4dUvmclc+rxuXw4E/Ep018SYNyaFWVUphIpJgNJigolh9/eNJ9R1Bzn5eQkw1zildYOmFsRAc67QveSwYVYKgME9BIM37rdetB9Y882UW75dSHjBfd6b9fkBKuSqEAChTiSGVup+aKBNJ9Z90NTIaJOOElSJ1jz1jc9u2u0YW7x948kwHX3r8MIGoCj98uWuAvU313NDcMHlMeVEBd+5o5rnWS/SMTeR03mg8iXeOru0OIXjd7i2UzhEjL4SgpMCDPzzbR3BxcJTxcJRrzLILp3vUEj+eVAuDwBzCFdT27lFyTlpLJJXp7vBFiCTsqdIKaaYhb36CwJCqG1zp6uhRr7GR+UxDNwgh6tPe/64Q4qdCiP8nhFhV+YczJ01DwsUBZSJZbaS3xpsLIdRqv3N49r5YQmkEi41gOd03xMmeIb7w6GF6xiYYDUXYnCGb9fW7t+BxOvnPl89nPWfCMEgYBgWLGFxZoRd/ZLogePxUG989fAK308H+7RsB+O7hLkYCkhfalKN9vt6zDqGEQOtgbmPoHIaB8SmHs12aZyimEi2K5hCc2Ugai/N9aC4f5lur/DNmDpEQ4lXA54B/A8Yx4/tXK6lokOfbp7JoVwNSwmAgtxIFToeKDBpKW4hLqRyX82kUuRKMxikr9NLvD/B3Dz8HKNPNTEoKPNy9cxMvdPTSOTJOImkQTWR+6KmyEnNpBLlQWuhlPBwlFIszGoyQSBo88Pwpukcn2FZbSUOpasj+yxOt/P0jHfjDmSdrQ0q++NhhPvHDX9MxPI7LqRYPp3sgMc8CwjCfsXMJghKCKR9BnhqBQ0DN6i/mqrGA+aYUZ1q+wLuA+6SUP5JS/jmw1f6h2UfKfDIaVGYBq8Mo7WI0qLSYXJy8Ka3gWPeUsLswAG2DapJaLIFonE3V5fzPu24kYapWGyozex1fu2szxR43P3npHN89fILP/vKZjMdFzPRm7yI1gs4RPx954DE+9sMn+OzDz07ue/WOZiqKCybP/8jJCzidMuOEfbp3iFO9QwwHw7zc1a9aaTrN7mnnlCkpE0MTaqVtdWnpTEw6i90LFwSGuRjQJac1ML+z2CmEcEkpE8CrMcs95PC5VUFKGExEVGRHZeb8ohVDwoBz/QsLQ3Q5zZDSHrXyuzigtlnhJA7GYmz0lLKjvopPve4Wukb9s+L7UxR53Lxu92Z+9OJZ3E4H8aRBvz9IXen0h57SFBYjCO7c3kSh20V5oZc+f5CD57sA+PM33jZZiO0f3n03T13o4juHTjAWilBZPHs2bDnXic/rodjr5uKgcrYIoZLvIgk4dBF2NqqIm9Rwowk43z+9LosVpIrKuWdI8EAkRqHblVeznkQS1ldos5BGMd+E/gDwGyHEEBAGngIQQmxFmYdWPUIobaBreGULgoQBR9uUg3uhYYguJ/SOq1DKbNVDF0IwGp90UjZVlWU0C6Vz145mHj/Vhj+inMsnegZnCYKURlCwCNNQ+lj84eikIFhfMWUDcTkd1JYUATA4EZolCMZCEV7q7OfunZsIxxMcaevBkBKHOWu6nWrVf6xbfW9u2ARJqf5GExHrQ0W/1vIihW4X977q2mnbe8YnaCjz5XweKdUrYagQwAbdkVJjMl/U0GeBj6H6CuyTctKA4gA+av/QlgaXE/r9uUeELAcvdSitJR/HoxDqP33CMPjyrw5x/NLArGO++fQr/PxYdmduingySTSRXFC0itft4q17rqDQ7aLY66Z1cHZIkxUaQTrp0UUzV9M1JUoIDUzMDh976kIXhpTcccVGNleXE44nGJxxnNOh/h4jQXjiNPzq5JQQsHqV3T48zotd/Xzm509N/v2klHSNTMxpjkuRSqSMJ5QAcDiUJnBt08pe/GiWlnmXXlLKQxm2nbNvOPbTPjxORVHBZOKTQ0AS5TyuW4GJNaEYjAQWN8G4nNA16ud07zAVRQVctW5656pUTZ83X51bc/iUbdrnWVh10QPbm9i3dT1/84tnCU+WO1WT2ivdA5O+hsVoBDP50jtenbFRTmVxAQ4hZk3whiE5eK6LKxuqqCstngyP7R0PTNNg/JEoX378CB/et4eG8hLbooNiiSTjZjhs54iff/j1Uf7gjmtpqiojGIuzvryEpKG+x+nXT/fHVxWr73alD4o82hykmc2qt/UvBCklf/XQ01QVF/KFd0xPhegeWZmCYNiiOvbnB0YBJu3dKaKJhVu0A9H849fdTieFbtekGSg1pv/36/Supc7JXgjqM/nff0Vx5iB5l8NBVXEh5wZG+Pmx84RjCd5+3XbOD4wyHAzzzr07AKg3o4z6xgOwYaqq6fNtvXSO+Hn45MWck+XyYSgwXVBtqCjhay0vTraaXFdRStIAQ6TuS/2UwLUbVdG8ldqjQbNyWFNfkZR9enhGITSXQ2kEKzGUtN9vzXnOm8Xc+v3BaQlXw5GFC4LgIgQBQIHbyVAgxH8cPUM0nmBwxmS3sdLFdU2wuQYaK9TqNp5UP2MJ66K8GsqKOdc/wk9eOscjJ1s5PzA62RRnZ0M1oO6xtMBD56ifZFriyUhIfYc8psnpZM8gYVNTspKZz+bjd99EY3kJB893Ueh2sbGijF2Nyk/h85pmoCSUFylHthYCmlxYExrBK939/PzYeQrn8OKlVpvDgZWXbj8eVvVuFoOUkgsDo6yvKKF7dIIvPX6Ev3zTPhwOwXDEmHacyGHpnZqciueIEspGgdvNUCDMwycuUuxxI2fE2awrd1JdAtWmf3dDhVrhGobKiu73W+OQ/d1brqJ3PEhJgYfP/PwpPv+osoRWFRdOi4Aq9Lg51NrD0ESYj999Ex6Xc1KzGglFOHi+k28/e5x3Xr+D1+/Orxz0XAxNTF+0FHrcvOP6HXzlV0fYt3UDBW4nDRVqMXPjZnilE4IxuDpzFQ6NJiOXvSB4/FQ73z1yctYqMj0KBNQqc6UJglhCrYIX6zsdnAgxHo7ylmu2kTAMHjhyit7xAOsqSqZpBOF4ImsBswF/kG8+/QqQf9XLgrRZ/NFTrexunN5ovaF8+teyIs2pWeWDw61KQC6WyuJCKosLkTO+HOUz+jVet7GOh0+0cmFwlPufOUZFkZdzpubQOjjKqZ4hALpGrFHfUr4Sl8NB/0QQj9NBLGnwht1bMAzYXlfD/7rrZjZXl7OpZsoc5HbC3k2WDEGzxrisBcHnHznDdw5f5Jr1ddxz7TY+8/OnJ/f5w1HK0ypbDgeCjASNORuaLAcTEWsKlp0fVP6BbbWVOM340bbhMcqKvBwfmrLVT0RiWQXBBfNct2xeR7Uvv2ykwjRn8EQkxuG2HupLi+kzq5RWFM9tzxACttbC0Y68Lj3HOac/4A0V051F77huB7+15woeO9XGj148C8CNzQ0Ue908ebaTyuICKooK6M6xnlI2vnPoBMe7B/jY3TdxYWCU5upyPnH3TRiGwJBwZQNUFFUxGoINq6rYi2alclkLghs2VfLaQYO37bly1qp6OBieJgj+5emXGA1FuXPHAerLV4ZhdSJiTR378/0jFHlcNJYrx6fH6eB7h0/yw6NnCUQMrmyo4nTvMBOR6KzY/pl0DPvxOB186LZrcjIjZSIVFeRxOdlcXc6ZvmHqy3yTgiAbVT7wOCHHHjw58eF913C2f4RXbdvIuvLpsflCCNxOJ2/YvYWhgMo0/i837eZM/zDPXLzEH9xxHS919vPoqVYSSQPXItKK48kkR9p6iCaSfP7RQwSjcd6wewtOhwNDwjUbVVBDoQfKgtZ1l9OsbWyb8YQQ9wshBoQQJ9K2VQohHhdCnDd/Vth1fYAD22t53407cTgEQgjetffKyeqYvz7TMamCjwTDtA2PMxaO8G/P9RNLzHfWpWMsZE2o34WBUbbWVOAQAocQbK2tJJpIUlHk5RPXF/CO61SEzEQkW3t66BgZZ0NlaV7ZrClSgsDlELzlGhWyWlmUu3YhBOxeB8gpx7GUU87kuPkzaeTuWL5ly3o+cOvVbK4pn7PWkRCC999yFV94+534CjzsbWrgH979GrbUVLC+ooSkIenz51AVcB5O9w4TTSR5zw07cTkcGFJyRV3l5H1UmTKqthR2NMx9Ho1mIdi5nvg28FVUoboUnwKekFJ+TgjxKfP9J20cwzReu2szAPWlZ/n5sQtmIbKKyRVckcfFr892cOeVDTl1+bIbf3jxmcCBaIye8QA3b143ue2Dt17NcDDM1poKwl2/IVygHKMT0eyCoHvUz43NjYsaU8o05BAONlVV8tvX7+T2bdX4I+Mcu5Rb0npNqbKJR+NTtZN8BbC+XPlUxkMqEiwUsz7JK33Fn0pUW2+ak7pHJyZ/z4dz/SM4HYL92zdy7cY6nm/vZXt9FfGkqhRqV0lrzdrGNkEgpTwohGiesfmtwH7z938FWlhCQZDinmu3U1NSxL8+e5yuUeXgqyou5I4rNvLjl85y4lKAGp+PpuqlHtkUhoRwbPGO4ouT/oEp5avKV0hVmn2/rNCLy+HgbN8IDWU+ttVmNjzHk0lCscScsfm5ktIInA5Bbangz960idJCeOPVtyzwPLCxQZlJij2qcUxqwl9XoZ7h0XYVBOByTPlbDKm0hdQ2K6gvK8bpEHSPLs5P0DEyzrryEtxOJ9W+Il6/e8tk+8xd67J/XqPJh6VeX9RJKXsBzJ+1WY63jX1bN/AXb9pHo1mr5cqGKm7ftgGnQ/D0+U7O9qkWl8tFKGqNo3gspCzpNWZtnUy4nU72bKjludZL/N3Dz3Gse6oMRTyZnDShBcwHUjJHB7FcKZjUCARb66Y6fzkcYkEmJyFgS61aKZcVzX5WDgHXN6tjEMp0lHoVuKZn3y4Wl8NBQ5mP7tH8I4eklHSO+Nk4o2yEYcCm6qWpaKpZm6xYV5MQ4l7Miqd1dXW0tLTkdZ5AdG47cSVwdXmMnnGoYwDXwCh7qh08c76N19b081S/mDdePfFFz1wAACAASURBVBAI5D2ubCQMiMSm9wfNh4kBNXknew8RdM8+mxELEOxo4baKJK90QYFT8M2Dz/OpG4ooccMfPx1ia7mT37+qgIEJswqm/xzBjtb8BzWmzuMworx0uCXv0yzk+bvMV8IAIcFwQixiNtywiHp3hItD6nlmI/Xc0xmNGExEYtQzMG2fBFqHoc3CseaLnd95u1nNYwd7x7/UgqBfCNEgpewVQjQAsyugmUgp78NsgLN37165f//+vC548KwqDzzXaurNjQncZRe566qteF1OXlMwwtFHnuMTT4X4Lzdt52/umbv1QktLC/mOKxvdI3DykjIJLAY5dh44R8XmO3BlSDMNdrRQ3LSfa5rgH3cb9PmD/NVDT/PpZ6cyWk8MJynceAeJ3mHgMNXrr6W4virvMZWX+OHlp3B7ihb1/Bb7/M/2qiYyVkXebBy/wAsDZ3Gtuz1r4bzUc0+no3cIOMymzddSbGY2xxIqt2XPRmvGuFjs/M7bzWoeO9g7/qVWNn8GvN/8/f3AT5f4+rModLu459rtk/9xt9VW4DF//+7hs3zvcMeshKOlIBIHKwqiRhJJXA5HRiEwE5fTwfqKEt6198pZ+3rGJiYLsJUU5JdRnCL1OAsyaChLSXWJdWW5gcm8iuFAfg2xR4Oq241KclMVQ70ulTeh0diJbRqBEOIBlGO4WgjRDfwlqt3lvwshPgR0Au+06/r5IoTgk6+9mbN9I7Sc6+TTPzlBU2Ux+7Ytrec4GLNmkorGE3gXWI/hzh1NrK8oocpXSN94kC//6giH23ooL1ROYp/Xg5RT4ZkpMZkqeT0fEmgsL2ZXYzmfefNsgbOUlJtuE0Na86yrfeqEQ4EwjeULT0wcMWtgVRQVEE9CbQlctcH6/gYazUzsjBp6zxy7Xm3XNa1iU3U5m6rL2bd1I3/0g0c51Dq85IIgbIF/AFSN/wLXwv7MQgi2m6afal8RN29q5NGTbVy3sR4BeJwe4klV5KysSE2iDqF+97imJtXJGH/zn5TAKC9y8trdt1lwd4vD6VCZuR3D1piHUhrBzIqhuTIaiuDzehDCSWmh6hmw3CHMmrXBinUWrwQ8LhdX1JVxpH0k+8EWE4lbMwlEEolFN3p51w07OXZpgCPtPRR73VT6BHub1US62ieqzbWqkJ0VWkGpGYY7FMitEFI8meQLjx0mnjSoLCrgpa5+FTEkYXvd6n+2mtWDDkibByFUfZ6Xu8Ymu2ctBVIqB7clpqFEcs5M2VwpK/ROZh/7vB4aylR+w+UwUXld0FQFGXrXLBiHEFT7CnPWCEaCES4MjJJIJmkdUtVMfV4vZUXTC+1pNHajBcE8OAU0VVUSSxgc7166Ns1j5oLSiok2GlcaQSK5uDr+t2/byBW1ldSX+qjMvU3uqmBTjRK6VtR1qvYV5awRpDq9vf26HXzw1qsBZVbaWHV5CFnN6kGbhuZBCGiuUhm5R9pH2Nu8NKUe2wata74STSQpL3TjdkIsqfwOCzXpKCEi+PjdN1FfpnwDlxMeF6yrhE4LfAXVvkLah2f3Y85EqsFPkcfN1poKrllfy74tG6mYO/dPo7EFLQjmQQhlFtlUXczzbSNTxTFmEE9Cx5AqeVBTqipjCqGiasJxZYMORlVM+PoK5aCcayIOxWBwwrpIkUg8gbfExa3bYCwI5wcgsIAm64mkOu7GzVBW6LhsV6qVxSp3Y7FU+4oIROOE44lp5bYzkdIIij1uHA7BRw7cgMuhSmZoNEuJFgRZkBJ2N1bScq6XpCEn6/mnc6FfJSY5HcAlNXF63aogWsrckAqtPN2jolRStXCCEagpUS0ZQa1KpbTONBBNJCn0OPG6oK5Mxc4/d1FdN5vrIGkmMty4SUUEXc6UFoAVSlh6LkG24nNBUxAUmS0/kwZs1P0FNMuA9hFkQQhoLKtkIpLgbN/sgmKhKHSOKJOC26kmV6dDrf6dDrU9tc9lvsIxONcH5/uhdxyOX4JBv1p9d40svtBcOpF4grLCqRnf6YDrm1QvW2OejLVUnsDOxstfCIBahVvhJ6iaDCHN7idIaQRFbvek5rUh/4RtjSZvtCDIgtMBGyvVMu1I2/Dk9kBE2dxf6lSTZrqiIMTcdngh1ETvcamIlVTc/dEOePq8dclNoIqYxRJJKoqmS5ZCjypiFjcdyHGzJWY8kfZ7UjVAWWdrx4iVgxCq+N18wjEXasyksq5Rf9aM9GA0jsvhwCGcFLjhuo1QpM1CmmVAm4ayIIRa5dWUFHLw3BAfuG0TfePwShdEYyCj+dvzY4kkvzxxkRuaGmgsLyGWVKWRE4bBIydauXZDHf9/e+cdHVd9JeDvShppVK1iSZaLZBtww8YGG9NiY9MOJSGQQEIKJc3phSQnbVNJNuWcJGc3bEhbEnKWLCwtgUMKkGADAQPGBscFV4wLxr1JVtfc/eP3RhrLaiON3punud85c2zNezPvm6fRu+/X7h1XNvjSma0dMRQoKzz511xb4QLZzn0uvXFuDuw+4gLYxNFuvCOVaZrDwOgiODywImm9UhzNpSSaxx9f3sSzW3ZxxcxTuHBKz4mCGlvbKMiNMK7M/Q4y6Vwb6YW1CAZAJFs4Y9wY/rnlAIePt7Nml7trFxla0ZOVO/bwyOrNfPvRZ3hy4+te0RHlt8+u5qGXN/LEq0PLN9nslVorLzw5UuXmuG6fvBwYX+4qXs2phVnjoTia+mIuYaC0YOitMRHhtqsXcNO5M8mP5HD3C2s51tTCm0cbeOLVbSe0ElwgyKGyOPPOtZFeWCAYACIwe3wVrR0x7nnhILFYanLDr965j5JoLqdVlfHQqo3EYsqK7W/y/Gu7AWgcYs3Mg40uiVlJvjX8BkJJvuuaG+rU3ZL8PBZNrePDC+bQEVOe3bqLB1dt4J4X1/Pov7Z07nfcaxEUD7xKp2EMCxYIBki8WMjrhxpTMpjbHoux5o19nDG+ioWn1dLU1s76Nw9w9/PrmFgximljyjuTkHVn6/7DNLX1HySe2riDSHYWC0+rHLpwBhDJdn30qVhYBjCutJjTa0bzwKoNrNqxl7ycbP74yiZe3rEHcGMEhXkR8iOpOZ5hDBYLBAOkOBohkp3F0camlDTjN+89RFNbO3MmVDOl2g1G//TvL9Lc1s6HLpjN6KKCHgNBa3sHP/zbcv5n+Zo+3//w8Wae37aLq2aNo2KkrQAbRiqKuqbNpoIPvWV2Z9K/jy48k0kVo/j1M6+wuyHGkcYWygpyrVvICBwLBANERCgvzOeglzN+qKzetY+crCxm1IymvDCfGq9k5rVnTmFcWTHlhfkcbWrpLBMZ50BDIx0x5YVtu/usj/u3da8RU+UzF/deWMc4mYqi1PbXlxZE+cn1F/OFS+cze3wVn1o8j2gkh5+90sSx5hbOnRRgYWzD8LBAkATlhVEONw4sj0xfqCqv7NzLtJqKzvq937jqAn583UVcMfOUzmMpcKSxK/A0NLey2qsnrMDDr2zq9Rhb9h9mSnU5kyszYBFAConXKEhlLaJoJIfTx1YiIpQVRvnU4rm0dLg6x1fMqk7dgQxjkFggSILygnwOpaBFsOfYcfbVNzJnfFfpqWgkh/LCrlHDisL4CtWuwPOfT67g/pUbAFg0pZaVO/bw+sGek+Htr29kgqWwTJpoxD1SNU7QExMryvjIzDxuPm8W48psgMAInkACgYh8VkTWisg6EflcEA6DoaIonyONzbxxpP6EO/Vk+Zd3Vz97fO93g/GFSfsTUhpv3d+VzOy6udMozIvwx5c3nvTaptY2GlpamVRhrYHBUF3SVX0tlcQX6mVnwZnVOXzlyvEpq5dsGEPB90AgIjOBjwDzgdnAW0XkNL89BkNFYT4K/PtfnuMPL6wb9PvsPXac4mhuZzqCHo9VlE+2CHuPda1wSqwVXJAb4cqZp7Dmjf1s3nditrR99S54TBljgWAwnFrtcjINNXV3IvGSnnNqYfG0rrQjhpEOBNEimA48r6qNqtoOPAVcG4BH0oz3Vvk2t7V3FhLpTltHBz954gXW7d7f6/vUN7dSnNd3LoHsrCwqiwvY4wWCWExp9NIWT6wYBcBFU+sYlZ/HvSteJZbQl7HnqAsEUy0QDIocLx9TbYULBkNF1eWeqhnlWhs2S8hIN4IIBGuBhSJSISIFwJXAhAA8kmZsaXHnH/HhxmbqW0++Xdyy7zDrdh/gJ0+82GtVs/rm1hPu7ntjTElhZ4vgUGMTHaq8b/7pfO2K8wHIi+Tw7nnT2XbgCKt2urnpqrDj0DEAaq1raNCIwLQalxdqqNNJ2zpcxbGpNalxM4xU43sPpaq+KiI/Ap4AGoDVwEmro0RkCbAEoLq6mmXLlg3qeMdboENTUwgeoDIq7GtyAWDnkeMUbz/Ra8221s7/r12zjGnlJ7f/jzY0UlOQxfFur+1OOS2sO9rO3s1LWb7HtQbKWrbSsut1Wrx9posiwGvb1jCdjTS1K09vbGR2ZTarnn+238/T0NAw6HMbNH64t7e5sqG93cWrcsKXq6fdFGjKg+U7u54L63kPqzeE2x2G1z+QoSpVvRO4E0BEvg/s6mGfXwO/Bpg3b54uWrRoUMfacdDVABhi2d5OJm1/mfpd+2hqa+eN5lzOrjvR67X1yykraORwYzOH8ibTUTWWkvwTF3QdX/44peU1FNbN6vNYs3P28eSuFXz1OdfVU14YZcq0BRR2a01UvryUQzKKgtqzWLpmK8fbN/Cdd53LnAml/X6eZcuWMdhzGzR+uDe3wTOb3CyixIu8quvnryl1hYbaOuD1A7DnaFf22Xhq6Rlj3T5+uw8HYfWGcLvD8PoHEghEpEpV94lILfAO4LzhOlZNKWx4M3Xpnd81dzqXnz6Zny9byc761hO2tbS7IuSXTJ/I0o3buWfFeu5ZsZ4rZ57CdXNd8fdYTDne0jagrqFZ46r45KKzeO3AUWaPr+LUqjKyerg1rSopZM+x4zS3tvPEq6+x4LTRAwoCRv9EI3BWHbTHThzcLcx1xYcSmVML9c2warsrSlRTCuNK3SI1w0hngpq89qCIVABtwCdV9fBwHSiS7ap/7To09Hq0AGWFUcoKo9SVj2LH/r0nbNu6/zDtsRjTxlSwcvuezqmff123lXkTa5hYMYqG1lYUBhQIAObW1TC3ru/O5TElhWzee4hlm3dQ39zKZy8OxSSs0JDMhbw4ChdOTW2VOcMYbgJZR6CqC1R1hqrOVtV/DPfxar0awamcF15bXsL+JqXJqzIFsGHPQbJEOK2qjMPeOoPPXzKfkmgev1++hlhMqW92rYjiaOry/1SXFNLS3sH9K1/lzAkVzJto9Q6DxoKAESYyYmVxSb67U0tlMrE6bwpnfIYOuEBQVzGK/NwISxbOYebYSmaMHc0NZ89g+8Gj/GXtVo41uWHegbYIBsKZE6o5fexoZo6t5PvXnpmy9zUMIzPImHWN48vcoHGqqKtwaal3HDrG1DEVtLS1s+3AES6bMRmAeXU1zPO6dOZPrGH51l08lLAKeFS0gPaO3ktaJkN5YT5fuPQc2jrc3HfDMIxkyJhAUJyf2ub6qPwoJbnCPSvWU9/cytQx5XTElGljTu6WERE+uXguK7fv4S9rX+OiqXWcPamAgw3Q0NJV8zg+E3Ew9Q7Um9ViNW8Nw0iWzAkEeV3Vp1IVEHK9jrU/r9nCM1vyyI/kcFpVz/3zkexszpk0jrNqx3H2JDcAqQpHmuDIcSjMcxfxFdvcVMRkg0FHzHWBWd+0YRjJkhFjBOAurHk5qR0wnlft4mhBboSjTS1cNmNSZ1rp7sTUXeDHJkwnFIGyAphU6WoGF0Vhdq2XlyZJz5hCuSUbNQxjEGRMiwBgVAHsr09d9LtiYoS3nr+Y1vYONu09xJm1J2cTbetwXTYiUFUM08f2/Z7lhVA32i1OSma6a5bYfHXDMAZHRgWC8kLYd6z//QZKlggFuREKciPMn+Su8KoupUUs5vr8CyIwa4K78x9ot82Uath+cODdWLEYZGW5fDaGYRjJklGBoCQ/NauLe6PNyzGXH3EX5ZxsmFzpuqSSISsLivKgsRWyB+DbHnNrJYbzsxmGMXLJqEBQHE39gHGceC6aeZOSu/vvjZJ8l64gu59+rPhnsWmjhmEMlowZLAaXbqIgd/BlCPsaxG3vgFOrXPdTKoJMSbTv7TGFtvau1kBRP/sbhmH0Rka1CMANqO481P+ddnfaO7y7fgG06/WqbltBLkwcnTrPomjvXT0x75gTR7tH1MreGoYxBDIyELyRZIq7+MDvuae4+f7rd8PBBvdcW4dLaje9xvXtp4pSr6ZM96ypsZhrBUyuhCljUnc8wzAyl4wLBKUFXV08A+nCUXUX3uk1XRfn2V49tWV7YeHpqQ0AcbKzYMwo2H3ETSONewiunu4pVak/pmEYmUnGBYJoBMqL3B19JLv/YNDW4S7IvQ3GDkcQiDOpEt482jUbqTjqApJNEzUMI5VkXCAAOK0amlrdA9w0z54CQrxbZnpNMKkbiqNw+jhAobIk+WmohmEYAyEjLy2lBbBwqitDuP0AbDvQ1TpQdQEgnrJ66piTK1H5yfiy4I5tGEZmEFSpyluBD+PGW9cAH1DVZr89ohE34NoRg52HXf+7KuTnQUWhG1iuLvHbyjAMw198DwQiMg74DDBDVZtE5D7gBuAuv12cj8v/Uz3KBYKS/MGlgTYMwwgrQXUN5QD5ItIGFAApLBmTPGIJ2wzDyGB8X1msqm8APwZ2AG8CR1X1cb89DMMwDIdoKhP0D+SAImXAg8C7gSPA/cADqnp3t/2WAEsAqqur5957772+eg6EhoYGiorC3ZQI82cwd/8JqzeE2x0G57948eKVqjqv3x1V1dcHcD1wZ8LPNwF39PWauXPnajqydOnSoBWGTJg/g7n7T1i9VcPtrjo4f+AlHcB1OYikczuAc0WkQEQEuBh4NQAPwzAMg2DGCF4AHgBW4aaOZgG/9tvDMAzDcAQya0hVvwV8K4hjG4ZhGCfi+2DxYBCR/cD2oD16YDRwIGiJIRLmz2Du/hNWbwi3OwzOv05VK/vbKRSBIF0RkZd0ICPyaUyYP4O5+09YvSHc7jC8/hlVocwwDMM4GQsEhmEYGY4FgqExEmY7hfkzmLv/hNUbwu0Ow+hvYwSGYRgZjrUIDMMwMhwLBIZhGBmOBYIRjpfGwzAGjH1nMg8LBP0gIleLyClBexiGj3RmHAhbUBCRqSIS2uuaiLxXRGZ7//ft3If2hA03InKJiCwH7gRqgvZJFhF5m4jcC3xFROqC9kkWEblGRL4btMdgCKu7iFwuIo8BPxaRawE0JLNJRORSEXkBVwI3dNc173rzDPAfwJng77nPyOL1veFF4ELgHqAY+DrwOaAO+KeIZKlqLEDFASEilwDfAL4JnA18WkSWquqf0/0zeHdzHwS+AtSJyOOq+kzAWv3ifXeygA8QInfPOwJ8HzgP+BEwHrheRNaq6uYg/frCc8/BfdffA3xZVR9K3J7OgczzjwK/B6qA7wFvx1VtRESyVbXDD5fQRc7hxEvh3QDcraqLVPUfwN9wvxzS+QLajUuAR1X1b8CvcEHtgyJSmO6fwfPbjLsr+gQQijtr77vTAWwhRO6edyvue36hqj4CPAe0AdsClesHz70NiOGKWz0EICILRCQSrF3/eP5NwB+8681juHN/o7fdlyAAFggAEJHPiMgPReR6AFX9P+/5bFwVtZ0ikhekY18k+L/Le+o54HwRiarqPqAZyMbdraYdInKdiJyT8NRzqlqvqr8BCkXkQ95+afd99c79b0Tkw95TT4XBvbu3qv5dVdtF5ErgIWAK8H0Rebe3f9qMFSS4L/Ge+iVQIyK/E5E1wJdwXbof9PZPG3c4wf8jAKr6sPd8Ni74rhORCX46pdWX02/EcSuubOZLwG0icouIVEJnRN4GXKWqLQGq9kgP/t8RkZuBDbh60PeJyFKgBHgYKEmnC5KIVInIU8DPgK8muLUn/P+bwOdFpCzdWjMicgvwXlzp1RtF5KvA5IRd0tK9B++vicip3uYDwOWqeh6wDNeSnJguXSzd3N8nIl8HWoA/Abm4CohXe9vfISK16eIOJ/m/3zv3k6HzenMMmI27AfWNtLkoBIH3BVkMfF1VHwBuxf0SLk/Y5zlgl4hcHYxl7/Tg/3lgDu4zfBhX8+HHqvoBoBWYlE4XJK+18jDufL8JfNTbJKoa8/p4/4qrYLdERIrjrbY04WLgR14X3Bdw/b3vi29MY/fu3rl43qr6oqpu8vZbD+wH2gOx7Jnu7nnAR1X1T8ASVd3g/V38C3cxbQtOtUd6Ovfvj29U1TVAE3CDn1IZEwi6Nw8T7jhfAhYAeL+cTcDpIjLN268Ed4cd6BdqgP5/xfnPA05R1ZdV9c/efnOBF3zSPYk+/G/HXXAeB64SkRovCGTR9f38MvAD3NjBGJ+UeyXB/WXgrQCq+hKwHBgrIhck7J427n14P4/rWrmg20tuwQ1cHvTLsTf6cH8WmCQiF6jq8YSX3AzkA4d9Fe2Ffs5953fG+zt5HIj62aWVMYEA96XoJOHOeAtQLCKzvJ+fAkYBRd5+x3CzKKp98uyNZPxLvAcicqWIvIib+fSgT6490aO/qrapajtuXGMD8Jn4dlXtELeG4xe4pv9Zqnq7v9qdfbedwSzh3D8LZInIQu/ntbiWzVhv/1OBOwjIfQjeN4nIWmAS8HFvQNNXknTfTZf7O0VkNa6L7uOq2uyruMdgz73XmqkCjvvZpTXiA4GInCsiDwI/F5HLEn5B8amzLwIdwKUikqOq64FxuLvqODeo6l1+escZgv/Z3vbNwMdU9Z2q6vvdUR/+0u2O5wDwCDBVRMaLyGivNXYA+JSqvkNVd/vsfp6I/Aa4VURK4n+YCed+M7AOeLe4qX67cHf9E73tR4NwH4L3JG/7v3DdLDer6l6/vFPkvgn3fb/Jb/ch+k9MeJsvqupv/fQe0YFARBbh7sgeAjbi+uLKxM2lbwdQ1S3ACuBU3PxvcINPr8ffJ8C7ikUM0V9VN6vqKn/NHf34q6qqiOSJSJ6qdqjq07g/krXAM0C1qh5N6LP2030h8F/Ak7i7ta+KyGUA8XMP1HueubhFWBGgDK8rRVX3q8/z8IfofcDb7xVvbMxXUuS+RlWX++0OqfnOePu2+ukNIzwQAGcAK1T1D8DduIUzDfFmmoh8T0TuBFbiZq7MF5GVwCFcP13QDMX/sYCcE+nP/zbgv/FWbovIx3ADxr8CzvD7ItqNecCzqnoPbqFPNfAeEakGd+6B/8Xd9X8T98f8jPfz7wMxdoTVG8LtDiH2H1Eri0XkXOBQwh3k08C3RWQ3boHPq8Ad4pbR78T1I35TVV/3Xv9eIEdVfZ26FScD/U8lwR833nG+18rxlR7cNwKzRWSsqu4WkQZc8fC3i8gy3Ln/iqpu9V7/QaBQVevNe+S7e8cPtX8iI6JFICKlIvJn4AngXSISH+h9BTc1sQ74hKouwg3WXIIbjHmvqm4Rb0RfVRuCuIiavxs3ULeoydcg0Js7ri/3GHCXN8YxATfjo0RVN3nuWxPOfczPP+iweofdfST498SICAS4/ECPAZ/2/r8gvkFVXwQqge3eU08CpXjTyiQ9cu9kur9vS+l7oLv7QgDvLu8LuKmf96vqtbixi8XxFwZ87sPqDeF2h/D7n0RoA4G4KW4XeiPzb+Dqed6HS6dwjojEp5Pl4aYmfsJ76cVAubdfYPmDzD84/37c58fdVbVVVZeq6r3eS+cCf42/j9/uYfUOuzuE378/QhUIxFEjLm3CzbjVkL8QkdGq2qyqjcDfcYMwFwOoSw3xCFAkIk/jshR+St2qVvPPEP8k3S/q9tq3iBuEXwA8at4j391zCLV/UqhqKB5AtvfvFFx2UHCD3bcDD3Xb91bcqH0pkO89lw9MNv/M8x+k+yjcQB64qYBXmndmuI8E/2Qf4kmnLeIWYtyGy575F9yK2etU9WZvu+BWFt6gqk95zxXhfjEXALW4VZ1vBKBv/gH6D9H9fNwg91x1i37Me4S7ey6h9h8sad01JCIX4ubIl+GmFn4Xl/NnsYjMh84l2bcB30546VW4PulXgFkBXkTNPyD/FLivxrn7HQRC6Q3hdofw+w+JoJskfT1w/Ws3Jvx8B/BxXDKsld5zWbgl2vcBE73n3g4sNP/M9Q+re1i9w+4+EvyH8kjrFgEuOt8n3jxz3Bz0WnV5f7JF5NPqRuHHAx3qLUxS1YfVpSsIGvMPjrC6h9Ubwu0O4fcfNGkdCFS1UVVbtGue+aW4/Ojgqm1NF5FHcTWGV8HJ6Y6DxPyDI6zuYfWGcLtD+P2HQihSTHgRWnG5Ox7xnq4HvgbMBLap1w+tXlstnTD/4Aire1i9IdzuEH7/wZDWLYIEYriEZQeAM7yo/A0gpqr/1IAGU5PA/IMjrO5h9YZwu0P4/ZMnqMGJZB/Aubhf0D+BDwXtY/7BO41097B6h919JPgn+0j7dQRxRGQ8cCPwU03DQvL9Yf7BEVb3sHpDuN0h/P7JEppAYBiGYQwPYRkjMAzDMIYJCwSGYRgZjgUCwzCMDMcCgWEYRoZjgcAwDCPDsUBgGANARL4tIl/sY/s1IjLDTyfDSBUWCAwjNVwDWCAwQomtIzCMXhCRfwNuAnbiko+tBI4CS4BcXM76G4E5uHKER73HO723+DlQCTQCH1HVDX76G8ZAsUBgGD0gInOBu4BzcMkZVwG/BH6nqge9fb4H7FXV20XkLuBRVX3A2/YP4GOqullEzgF+oKoXnXwkwwieUGQfNYwAWAD8UV2BckQknoVyphcASoEi4LHuL/RKF54P3J+QpThv2I0NY5BYIDCM3umpuXwXcI2qrhaRW4BFPeyTBRxR1TnDp2YYqcMGiw2jZ54GrhWRfBEpBt7mPV8MvCkiEeB9CfvXe9tQ1WPANhG5HlzxEhGZ7Z+6YSSHjREYrTDYBgAAAG9JREFURi8kDBZvB3YB64HjwJe859YAxap6i4hcAPwGaAGuw6Uw/gVQg8ttf6+q3ub7hzCMAWCBwDAMI8OxriHDMIwMxwKBYRhGhmOBwDAMI8OxQGAYhpHhWCAwDMPIcCwQGIZhZDgWCAzDMDKc/wemFERn6F0orwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import tushare as ts\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import talib\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "pro=ts.pro_api()\n",
    "df_whole=pro.daily(ts_code=\"000001.SZ\",start_date=\"20180601\",end_date=\"20190630\")\n",
    "\n",
    "df_whole['trade_date'] = pd.to_datetime(df_whole['trade_date'],format='%Y%m%d')\n",
    "df_whole.set_index('trade_date',inplace=True)\n",
    "print(df_whole.head())\n",
    "\n",
    "\n",
    "symbol=\"000001.SZ\"\n",
    "df=df_whole[\"close\"]\n",
    "# calculate Simple Moving Average with 20 days window\n",
    "sma = df.rolling(window=20).mean()\n",
    "# calculate the standar deviation\n",
    "rstd = df.rolling(window=20).std()\n",
    "upper_band = sma + 2 * rstd\n",
    "upper_band=upper_band.to_frame()\n",
    "upper_band=upper_band.rename({'close': 'upper'}, axis=1) \n",
    "lower_band = sma - 2 * rstd\n",
    "lower_band=lower_band.to_frame()\n",
    "lower_band=lower_band.rename({'close': 'lower'}, axis=1) \n",
    "\n",
    "BB_df=pd.concat([df,upper_band, lower_band], axis=1)\n",
    "print(BB_df)\n",
    "BB_df.dropna(inplace=True)\n",
    "print(BB_df)\n",
    "\n",
    "ax = df.plot(title='{} Price and BB'.format(symbol))\n",
    "ax.fill_between(BB_df.index, BB_df['lower'], BB_df['upper'], color='#ADCCFF', alpha='0.8')\n",
    "ax.set_xlabel('date')\n",
    "ax.set_ylabel('SMA and BB')\n",
    "ax.grid()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
